package com.baiduspring.vo;

import com.baiduspring.utils.PreconditionsUtils;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

import java.util.Objects;

@Data
@Slf4j
public class BlogVO implements BaseVO<BlogVO, Object> {
    /**
     * 文章id
     */
    private String id;
    /**
     * 正文，包含HTML
     */
    private String content;
    /**
     * 正文，纯文本
     */
    private String contentTxt;
    /**
     * 标题
     */
    private String title;
    /**
     * 文章来源
     */
    private Integer orig;
    /**
     * 同步频道
     */
    private Integer channels;
    /**
     * 标签
     */
    private String label;
    /**
     * 作者
     */
    private Long account;
    /**
     * IP地址
     */
    private String ip;

    @Override
    public BlogVO validate() {
        PreconditionsUtils.checkArgument(StringUtils.isNoneEmpty(this.content), "正文内容不能为空");
        PreconditionsUtils.checkArgument(StringUtils.isNoneEmpty(this.title), "标题不能为空");
        PreconditionsUtils.checkArgument(Objects.nonNull(this.orig), "来源不能为空");
        PreconditionsUtils.checkArgument(Objects.nonNull(this.channels), "同步频道不能为空");
        return this;
    }
}
